// express 是node一个框架  

// 以盖房子为例子
// 昨天使用node 的http url path fs模块实现的   相当于一砖一瓦自己盖房子  
// 今天学习的express  \ koa                         给了你一个毛坯房 


// 1.导入express 
const my_express = require('express');
const fs = require('fs');
// console.log(my_express);

// 2.创建服务 
// 原生node  http模块.createServer(function(req,res){})
// express模块()   my_express() 

const server = my_express();

// 语法:
//  server.use('访问地址',函数)

// 原生node  res.end 返回  
// express  res.send()
// 当用户访问  /index的时候   到client下找到views 找到home.html

server.use('/index',function(req,res){
    fs.readFile('mycode\\client\\views\\home.html','utf-8',(err,data)=>{
        if(err){
            res.send('出错了')
            return 
        }
        res.send(data)
    });
})




// 暴露静态资源的语法  
// 约定 /static 开头  
// /static/css/home.css   实际上到 /client/css/home.css
// /static/js/detail.js   实际上到 /client/js/detail.js 
// /static/views/list.html 实际上将 /client/views/list.html


//语法:express模块.static('目录路径')

server.use('/static',my_express.static('C:/www/2303/day40/mycode/client/'))



server.use('/api/goods/list',function(req,res){
    res.send(JSON.stringify({
        code:1,
        message:'获取成功',
        info:[{},{},{}]
    }))
})


// 后续我们需要写很多个 类似/api/goods/list的地址   暴露给用户 

// 如果全部写在一个文件上  不太好维护   

// 我们需要一个东西统一管理  -  路由  (下一跳)

// 路由表  

// 用来管理所有暴露出去的地址  

// 启动服务 
// 原生 server.listen(端口号,回调函数)
// express  server.listen(端口号,回调函数)
server.listen(8080,()=>{
    console.log('服务启动成功,监听8080端口');
})

